package com.omn.listazakupow.controller;

import java.util.HashMap;
import java.util.Map;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;

import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.model.User;
import com.liferay.portal.util.PortalUtil;
import com.omn.listazakupow.db.model.ListaZakupow;
import com.omn.listazakupow.db.service.ListaZakupowLocalServiceUtil;

@Controller
@RequestMapping("VIEW")
public class AddListController {

	@RequestMapping("view")
	public void handleActionRequest(ActionRequest request,
			ActionResponse response) throws Exception {
		int id = -1;
		if (request.getParameter("id") != null) {
			id = Integer.parseInt(request.getParameter("id"));
		}

		response.setRenderParameter("action", "view");
		if (request.getParameter("delete") != null) {
			ListaZakupowLocalServiceUtil.deleteListaZakupow(id);
			return;
		}

		ListaZakupow listaZakupowList;
		if (id == -1)
			listaZakupowList = ListaZakupowLocalServiceUtil.createListaZakupow(CounterLocalServiceUtil
					.increment(ListaZakupow.class.getName()));
		else
			listaZakupowList = ListaZakupowLocalServiceUtil.getListaZakupow(id);

		listaZakupowList.setDescription(request.getParameter("description"));
		User user = PortalUtil.getUser(request);
		if(user==null)
			listaZakupowList.setUserId(-1);
		else
			listaZakupowList.setUserId(user.getUserId());

		if (id == -1)
			ListaZakupowLocalServiceUtil.addListaZakupow(listaZakupowList);
		else
			ListaZakupowLocalServiceUtil.updateListaZakupow(listaZakupowList);

		response.setRenderParameter("listaZakupowId", "" + listaZakupowList.getId());

	}

	@RequestMapping("view")
	public ModelAndView handleRenderRequest(RenderRequest request,
			RenderResponse response) throws Exception {
		Map<String, Object> model = new HashMap<String, Object>();
		String stListaZakupowId=request.getParameter("id");
		if(stListaZakupowId==null)	stListaZakupowId=request.getParameter("listaZakupowId");

		if ( stListaZakupowId!=null ) {
				ListaZakupow listaZakupow=ListaZakupowLocalServiceUtil.getListaZakupow( Integer.parseInt( stListaZakupowId ) );

				model.put( "item", listaZakupow );
				}

		model.put( "listaZakupowId", request.getParameter("listaZakupowId") );
		return new ModelAndView("addlist", model);
	}

	@RequestMapping
	protected String defaultView() {
		return "view";
	}

}
